package com.lancoo.cvas.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lancoo.cvas.entity.CssRange;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

@Data
@ApiModel("选课轮次信息")
public class CssTaskRoundInfo implements Serializable {

    @ApiModelProperty("选课任务id")
    private Integer cssTaskId;

    @ApiModelProperty("任务id")
    private Integer taskId;

    @ApiModelProperty("学校id")
    private String schoolId;

    @ApiModelProperty("学校名称")
    private String schoolName;

    @ApiModelProperty("选课任务名称")
    private String cssTaskName;

    @ApiModelProperty("1预选 2正式选课")
    private Integer type;

    @ApiModelProperty("1开启重修学生选课 2不开启")
    private Integer isRetake;

    @ApiModelProperty("选课轮次id")
    private Integer id;

    @ApiModelProperty("阶段")
    private Integer stage;

    @ApiModelProperty("轮次 1正 2补 3退")
    private Integer selectRound;

    @ApiModelProperty("1：已结束，2：进行中，3：未开始")
    private Integer state;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty("选课开始时间")
    private LocalDateTime beginTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty("选课结束时间")
    private LocalDateTime endTime;

    @ApiModelProperty("1:主修  2：辅修")
    private Integer studyNature;

    @ApiModelProperty("专业性质，1:公共课，2:专业课")
    private Integer majorProp;

    @ApiModelProperty("课程性质 1必修  2选修 3必修+选修")
    private Integer courseNature;


    @ApiModelProperty("选课范围")
    private List<CssRange> cssRanges = new ArrayList<>();

    @ApiModelProperty("任务年级")
    public List<String> taskToGradeIds = new ArrayList<>();
}
